package mediator_pattern;

/**
 * @author 申书航
 * @version 1.0
 * 工具类，用于验证组件的文本内容
 */
public class ValidatorUtil {

    /**
     * 检查组件的文本是否为空
     * @param comp 组件
     * @return 如果组件的文本为空，则返回true；否则返回false
     */
    public static boolean isEmpty(Component comp) {
        return comp.getText() == null || comp.getText().trim().isEmpty();
    }

    /**
     * 检查组件的文本长度是否足够
     * @param comp 组件
     * @param len 最小长度
     * @return 如果组件的文本长度大于等于指定长度，则返回true；否则返回false
     */
    public static boolean isLengthEnough(Component comp, int len) {
        return comp.getText() != null && comp.getText().length() >= len;
    }

    /**
     * 检查组件的文本长度是否在指定范围内
     * @param comp 组件
     * @param min 最小长度
     * @param max 最大长度
     * @return 如果组件的文本长度在指定范围内，则返回true；否则返回false
     */
    public static boolean isLengthRange(Component comp, int min, int max) {
        return comp.getText() != null
                && comp.getText().trim().length() >= min
                && comp.getText().trim().length() <= max;
    }

    /**
     * 检查两个组件的文本是否相等
     * @param comp1 组件1
     * @param comp2 组件2
     * @return 如果两个组件的文本相等，则返回true；否则返回false
     */
    public static boolean isEqual(Component comp1, Component comp2) {
        if (comp1.getText() == null || comp2.getText() == null) {
            return false;
        }
        return comp1.getText().equals(comp2.getText());
    }
}
